 package eclipse;

import eclipse.lib.graphics.shaders.GLColor;
import eclipse.lib.graphics.shaders.GLQuadShader;

/**
 * This class contains all of the constants that either the Client or the Server use. 
 */
public class Constants
{	
	/** Separation character for 2.8 packets */
	public static final char SEP_CHAR 				= 31;
	/** Separation character for 2.8 packets */
	public static final char END_CHAR 				= 4;
	/** The String representing the specifics of the Engine's name and version. */
	public static final String ENGINE				= "{Powered by Eclipse MMORPGMaker 3.0}";
	/** A String representing the Client's compiler info. */
	public static final String CLIENTINFO			= "java";
	/** Sets the OpenGL object to draw the splash screen only. */
	public static final int MENUSTATE_SPLASHSCREEN 	= 0;
	/** Sets the OpenGL object to draw the game */
	public static final int MENUSTATE_INGAME 		= 1;
	/** Sets the OpenGL object to draw the char menu */
	public static final int MENUSTATE_CHARSELECT	= 2;
	/** Sets the current form the Main Menu */
	public static final int MENUSTATE_MAINMENU		= 10;
	/** Sets the current form the Login Menu */
	public static final int MENUSTATE_LOGINMENU		= 11;
	/** Sets the current form the New Account Menu */
	public static final int MENUSTATE_NEWACCOUNTMENU= 12;	
	/** A not moving object */
	public static final int MOVING_NOT 	= -1;
	/** A moving object */
	public static final int MOVING		=  1;
	/** An object moving left */
	public static final int MOVING_LEFT	= -10;
	/** An object moving right */
	public static final int MOVING_RIGHT=  10;
	/** comCode: start of a comCode section */
	public static final byte com_START  			= -128;	
	/** comCode: the next bytes are printed to the console. */
	public static final byte com_PRINT				= -127;
	/** comCode: the next bytes are printed to the console with a line break. */ 
	public static final byte com_PRINTLN			= -126;
	/** comCode: the next bytes set the Max Data. */
	public static final byte com_MAXDATA			= -125;
	/** comCode: the next bytes set the Max Map Layers */
	public static final byte com_MAPSETLAYERS		= -124;
	/** comCode: the next bytes set the Map's layer sheet. */
	public static final byte com_MAPSETLAYERSHEET 	= -123;
	/** comCode: the next bytes set the Map's Max width */
	public static final byte com_MAPSETLAYERTILEX	= -122;
	/** comCode: the next bytes set the Map's name. */
	public static final byte com_MAPSETNAME			= -121;
	/** comCode: the next bytes toggle the Map's fog effect. */
	public static final byte com_MAPLAYERFOGEFFECT	= -120;
	/** comCode: the next bytes toggle the Map's light effect. */
	public static final byte com_MAPLAYERLIGHTEFFECT= -119;
	/** comCode: the next bytes set the Map's color */
	public static final byte com_MAPSETLAYERCOLOR	= -118;
	/** comCode: the next bytes set the Map's tile script*/
	public static final byte com_MAPSETLAYERSCRIPT	= -117;
	/** comCode: the next bytes set the Map's tile opaque */
	public static final byte com_MAPSETOPAQUE		= -116;
	/** comCode: the next bytes set the Map's tile transparent */
	public static final byte com_MAPSETTRANSPARENT 	= -115;
	/** comCode: the next bytes set the Map's max layers */
	public static final byte com_MAPSETLAYERMAX		= -114;
	/** comCode: the next bytes set the Map's morality */
	public static final byte com_MAPSETMORALITY		= -113;
	/** comCode: the next bytes set the Map's weather */
	public static final byte com_MAPSETWEATHER		= -112;
	/** comCode: the next bytes set the map located left */
	public static final byte com_MAPSETLEFT			= -111;
	/** comCode: the next bytes set the map located Right */
	public static final byte com_MAPSETRIGHT		= -110;
	/** comCode: the next bytes set the map located Up */
	public static final byte com_MAPSETUP			= -109;
	/** comCode: the next bytes set the map located down */
	public static final byte com_MAPSETDOWN			= -108;
	/** comCode: the next bytes set the map's music */
	public static final byte com_MAPSETMUSIC		= -107;
	/** comCode: the next bytes set the map's respawn point */
	public static final byte com_MAPSETRESPAWNMAP	= -106;
	/** comCode: the next bytes set the map's respawn x */
	public static final byte com_MAPSETRESPAWNX		= -105;
	/** comCode: the next bytes set the map's respawn Y */
	public static final byte com_MAPSETRESPAWNY		= -104;
	/** comCode: the next bytes set the map's location x */
	public static final byte com_MAPSETLAYERPOSX	= -103;
	/** comCode: the next bytes set the map's location y */
	public static final byte com_MAPSETLAYERPOSY	= -102;
	/** comCode: the next bytes set the map's height */
	public static final byte com_MAPSETLAYERINDEX	= -101;
	/** comCode: the next bytes set the map's height */
	public static final byte com_MAPSETLAYERTILEY	= -100;
	/** comCode: ends a comCode section */
	public static final byte com_END				=  127;
	/** Vertex coordinates for a splash screen Object */
	public static final float SPLASHRECT[] 			= {-128f, 64f,-48f, 128f,64f,-48f, 128f,-64f,-48f, -128f,-64f,-48f};
	/** Vertex coordinates for a tile (32 * 32) */
	public static final float TILERECT[]			= { 0f, 0f, 0f, 32f, 0f, 0f, 32f, 32f, 0f, 0f, 32f, 0f};
	/** Vertex coordinates for text (16 * 16) */
	public static final float TEXTRECT[] 			= { 0f,  0f, 0f, 10f, 0f, 0f, 10f, 10f,0f, 0f,  10f,0f};
	/** Vertex coordinates for a screen filter Object */
	public static final float SCREENFILTER[] 		= {800f,600f, -640f};
	/** Color for splash (none)*/
	public static final GLColor SPLASHFILTERCOLOR 	= new GLColor(0f, 0f, 0f, 0f);
	/** No color (absolute black)*/
	public static final GLColor NOFILTERCOLOR		= SPLASHFILTERCOLOR;
	/** Solid red color */
	public static final GLColor REDFILTERCOLOR		= new GLColor(1f, 1f, 0f, 0f);
	/** Solid white color */
	public static final GLColor WHITEFILTERCOLOR	= new GLColor(1f, 1f, 1f, 1f);
	/** White Quad shader */
	public static final GLQuadShader WHITEFILTER	= new GLQuadShader(WHITEFILTERCOLOR);
	/** Red Quad shader */
	public static final GLQuadShader REDFILTER		= new GLQuadShader(REDFILTERCOLOR);
	/** Filter for splash screen */
	public static final GLQuadShader SPLASHFILTER 	= new GLQuadShader(SPLASHFILTERCOLOR);
	/** Size of a  8bit integer (byte) */
	public static final int BYTESIZE	= 1;
	/** Size of a 16bit integer (char) */
	public static final int CHARSIZE	= 2;
	/** Size of a 16bit integer (short) */
	public static final int SHORTSIZE	= 2;
	/** Size of a 32bit integer (int) */ 
	public static final int INTEGERSIZE	= 4;
	/** Size of a 32bit floating-point integer (float) */
	public static final int FLOATSIZE	= 4;
	/** Size of a 64bit integer (long) */
	public static final int LONGSIZE	= 8;
	/** Size of a 64bit floating-point integer (double) */
	public static final int DOUBLESIZE	= 8;
	/** Size of a String */
	public static final int STRINGSIZE	= 12;
	/** Object is looking upwards */
	public static final byte DIR_UP 	= 3;
	/** Object is looking downwards */
	public static final byte DIR_DOWN 	= 0;
	/** Object is looking left */
	public static final byte DIR_LEFT	= 1;
	/** Object is looking right */
	public static final byte DIR_RIGHT  = 2;
}
